রেডিস (Redis) একটি ইন-মেমরি ডেটাবেস যা বিভিন্ন ধরনের ডেটা স্ট্রাকচার সাপোর্ট করে। এর মধ্যে লিস্ট (List) অন্যতম একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার। রেডিস লিস্ট হল একটি সিরিয়াল ডেটা স্ট্রাকচার যা অনেক উপাদানকে একটি নির্দিষ্ট আর্ডারে সংরক্ষণ করে। লিস্টের উপাদানগুলো ডাবল লিংকড লিস্ট হিসেবে সংরক্ষিত হয়, অর্থাৎ আপনি লিস্টের শুরু বা শেষ থেকে ডেটা ইনসার্ট ও রিমুভ করতে পারেন। এর জন্য রেডিস কিছু বিশেষ কমান্ড প্রদান করে যেমন: LPUSH, RPUSH, LPOP, এবং RPOP।
নিচে এই কমান্ডগুলোর বিস্তারিত ব্যাখ্যা দেওয়া হলো:
১. LPUSH (Add element to the left of the list)
LPUSH কমান্ড ব্যবহার করে আপনি একটি উপাদান লিস্টের বাম (left) পাশে যোগ করতে পারেন। অর্থাৎ, এটি লিস্টের প্রথমে একটি নতুন উপাদান ইনসার্ট করবে।
কমান্ড:
LPUSH mylist "value1"
এটি mylist নামক লিস্টের বাম পাশে "value1" যোগ করবে। যদি লিস্টটি আগে থেকে খালি থাকে, তাহলে "value1" প্রথম উপাদান হিসেবে যুক্ত হবে।
একাধিক উপাদান যোগ করা:
LPUSH mylist "value2" "value3" "value4"
এটি "value2", "value3", এবং "value4" উপাদানগুলো লিস্টের বাম পাশে যোগ করবে, ফলে "value2" লিস্টের প্রথম উপাদান হবে।
২. RPUSH (Add element to the right of the list)
RPUSH কমান্ড ব্যবহার করে আপনি একটি উপাদান লিস্টের ডান (right) পাশে যোগ করতে পারেন। অর্থাৎ, এটি লিস্টের শেষের দিকে একটি নতুন উপাদান ইনসার্ট করবে।
কমান্ড:
RPUSH mylist "value1"
এটি mylist নামক লিস্টের ডান পাশে "value1" যোগ করবে। যদি লিস্টটি আগে থেকে খালি থাকে, তাহলে "value1" প্রথম উপাদান হিসেবে যোগ হবে।
একাধিক উপাদান যোগ করা:
RPUSH mylist "value2" "value3" "value4"
এটি "value2", "value3", এবং "value4" উপাদানগুলো লিস্টের ডান পাশে যোগ করবে, ফলে "value4" লিস্টের শেষ উপাদান হবে।
৩. LPOP (Remove element from the left of the list)
LPOP কমান্ড ব্যবহার করে আপনি লিস্টের বাম (left) পাশ থেকে প্রথম উপাদানটি মুছে ফেলতে পারেন।
কমান্ড:
LPOP mylist
এটি mylist লিস্টের প্রথম উপাদান মুছে ফেলবে এবং সেই উপাদানটি রিটার্ন করবে। যদি লিস্টটি খালি থাকে, তাহলে এটি nil রিটার্ন করবে।
উদাহরণ: ধরা যাক, লিস্ট mylist-এ আছে:
LPUSH mylist "apple"
LPUSH mylist "banana"
এখন, LPOP mylist কমান্ড রান করলে "banana" মুছে যাবে এবং রিটার্ন হবে।
৪. RPOP (Remove element from the right of the list)
RPOP কমান্ড ব্যবহার করে আপনি লিস্টের ডান (right) পাশ থেকে প্রথম উপাদানটি মুছে ফেলতে পারেন।
কমান্ড:
RPOP mylist
এটি mylist লিস্টের শেষ উপাদান মুছে ফেলবে এবং সেই উপাদানটি রিটার্ন করবে। যদি লিস্টটি খালি থাকে, তাহলে এটি nil রিটার্ন করবে।
উদাহরণ: ধরা যাক, লিস্ট mylist-এ আছে:
RPUSH mylist "apple"
RPUSH mylist "banana"
এখন, RPOP mylist কমান্ড রান করলে "banana" মুছে যাবে এবং রিটার্ন হবে।
লিস্ট কমান্ডগুলোর মধ্যে পার্থক্য:
- LPUSH এবং RPUSH:
LPUSHলিস্টের বাম (left) পাশ থেকে উপাদান যোগ করে, আরRPUSHলিস্টের ডান (right) পাশ থেকে উপাদান যোগ করে। - LPOP এবং RPOP:
LPOPলিস্টের বাম (left) পাশ থেকে উপাদান মুছে ফেলে, আরRPOPলিস্টের ডান (right) পাশ থেকে উপাদান মুছে ফেলে।
সারাংশ
রেডিস লিস্ট ডেটা স্ট্রাকচারটি খুবই শক্তিশালী এবং ব্যবহারযোগ্য। LPUSH, RPUSH, LPOP, এবং RPOP কমান্ডগুলোর মাধ্যমে আপনি খুব সহজেই ডেটা যুক্ত বা মুছে ফেলতে পারেন। এই কমান্ডগুলি লিস্টের শুরু (বাম) বা শেষ (ডান) থেকে ডেটা পরিচালনা করতে সহায়তা করে।
Read more